package com.smartcar.auth.feign;

import com.smartcar.auth.feign.fallBack.AdminFeignServiceImpl;
import com.smartcar.common.domain.User;
import com.smartcar.common.domain.request.FindUserVo;
import com.smartcar.common.domain.request.UpdateLoginVo;
import com.smartcar.common.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

@FeignClient(value = "smartcar-admin")
public interface AdminFeign {

    /**
     * 根据用户名查询用户信息
     */
    @PostMapping("admin/findUserByUserName")
    public Result<User> findUserByusername(@RequestBody FindUserVo findUserVo);

    /**
     * 添加用户信息
     */
    @PostMapping("admin/insertUser")
    public Result<Integer> insertUser(@RequestBody User user);

    /**
     * 用户名唯一校验
     */
    @PostMapping("admin/verifyUniqueUserName")
    public Result<User> verifyUniqueUserName(@RequestParam("username") String username);

    /**
     * 根据手机号查用户信息
     */
    @GetMapping("/admin/findByPhone/{phone}")
    public Result<User> findByPhone(@PathVariable("phone") String phone);

    /**
     * 修改
     * 最后一次修改时间
     * 最后一次登录时间
     * 最后一次登录设备
     */
    @PostMapping("admin/updateLoginAdmin")
    public Result<Integer> updateLoginAdmin(@RequestBody UpdateLoginVo updateLoginVo);
}
